函数的声明、定义、调用
函数的定义
定义部分包括:
函数头
- 返回值类型
- 函数名(标识符)
- 参数列表
函数体
- 局部变量声明
- 可执行代码
定义方式
(1)在 C 文件中定义
① 定义在当前 C 文件中:
- C 文件是编译的最小单位
- 一般定义在当前 C 文件中,即 main( ) 所在的C文件
- 不能嵌套函数定义语句,即定义不能放在函数体中
② 定义在其他C文件中:
- 需要单独包含涉及到的头文件,也就是说即便主函数所在的 C 文件中包含了头文件,在这里仍然是无效的,需要再次加入 #include<XXX.h>
- C 文件中的函数可以直接调用已经定义的其他函数(不用在此 C 文件中再次定义)
(2)在头文件中定义
- 需要单独包含涉及到的头文件,也就是说即便主函数所在的 C 文件中包含了头文件,在这里仍然是无效的,需要再次加入 #include<XXX.h>
- 头文件中的函数不能直接调用已经定义的其他函数(必须在此头文件中定义)
函数的声明
声明部分包括:
- 返回值类型
- 函数名
- 参数列表
- 分号
声明的要求/注意:
- 当定义部分在调用语句之前的时候,就无需声明;反之,如果定义语句在调用语句后,且没有加声明语句,则可能报错(实测不是每次都报错)。
函数的调用
调用的形式:
- 函数语句调用,如:
scanf("请输入:%f", &b);
- 函数表达式调用,如:
a = pow(b);
- 函数参数调用,如:
printf("2的平方等于:%f", sqrt(4));
调用的要求/注意
- 主函数可以调用其他函数(也称“下层函数”),但其他函数不能调用主函数,下层函数可以相互调用
- 定义在其他C文件中的函数不需要写 “#inclde"XXX.c” 的预处理语句
- 定义在头文件中的函数必须写 “#inclde"XXX.h” 的预处理语句